home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre3.z / postgre3 / src / lib / H / utils / builtins.h next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  17.6 KB  |  455 lines

  1. /*
  2.  * builtins.h --
  3.  *    Declarations for operations on built-in types.
  4.  *
  5.  * Notes:
  6.  *    This should normally only be included by fmgr.h.
  7.  *    Under no circumstances should it ever be included before 
  8.  *    including fmgr.h!
  9.  *
  10.  * Identification:
  11.  *    $Header: /private/postgres/src/lib/H/utils/RCS/builtins.h,v 1.67 1992/07/28 19:12:27 mao Exp $
  12.  */
  13.  
  14. #ifndef BuiltinsIncluded
  15. #define BuiltinsIncluded
  16.  
  17. #include "tmp/postgres.h"
  18.  
  19. #include "rules/prs2locks.h"    
  20. #include "rules/prs2stub.h"    
  21.  
  22. #include "storage/itemptr.h"
  23.  
  24. #include "utils/large_object.h"
  25.  
  26. #include "utils/geo-decls.h"
  27.  
  28.  
  29. /*
  30.  *    Defined in adt/
  31.  */
  32. /* bool.c */
  33. int32 boolin ARGS((char *b ));
  34. char *boolout ARGS((long b ));
  35.  
  36. /* char.c */
  37. int32 charin ARGS((char *ch ));
  38. char *charout ARGS((int32 ch ));
  39. int32 cidin ARGS((char *s ));
  40. char *cidout ARGS((int32 c ));
  41. int32 chareq ARGS((int8 arg1 , int8 arg2 ));
  42. int32 charne ARGS((int8 arg1 , int8 arg2 ));
  43. int32 charlt ARGS((int8 arg1 , int8 arg2 ));
  44. int32 charle ARGS((int8 arg1 , int8 arg2 ));
  45. int32 chargt ARGS((int8 arg1 , int8 arg2 ));
  46. int32 charge ARGS((int8 arg1 , int8 arg2 ));
  47. int32 charpl ARGS((int8 arg1 , int8 arg2 ));
  48. int32 charmi ARGS((int8 arg1 , int8 arg2 ));
  49. int32 charmul ARGS((int8 arg1 , int8 arg2 ));
  50. int32 chardiv ARGS((int8 arg1 , int8 arg2 ));
  51. char *char16in ARGS((char *s ));
  52. char *char16out ARGS((char *s ));
  53. int32 char16eq ARGS((char *arg1 , char *arg2 ));
  54. int32 char16ne ARGS((char *arg1 , char *arg2 ));
  55. int32 char16lt ARGS((char *arg1 , char *arg2 ));
  56. int32 char16le ARGS((char *arg1 , char *arg2 ));
  57. int32 char16gt ARGS((char *arg1 , char *arg2 ));
  58. int32 char16ge ARGS((char *arg1 , char *arg2 ));
  59. char *pg_username ARGS((void));
  60.  
  61. /* int.c */
  62. int32 int2in ARGS((char *num ));
  63. char *int2out ARGS((int16 sh ));
  64. int16 *int28in ARGS((char *shs ));
  65. char *int28out ARGS((int16 (*shs )[]));
  66. int32 *int44in ARGS((char *input_string ));
  67. char *int44out ARGS((int32 an_array []));
  68. int32 int4in ARGS((char *num ));
  69. char *int4out ARGS((int32 l ));
  70. int32 itoi ARGS((int32 arg1 ));
  71. int32 int4eq ARGS((int32 arg1 , int32 arg2 ));
  72. int32 int4ne ARGS((int32 arg1 , int32 arg2 ));
  73. int32 int4lt ARGS((int32 arg1 , int32 arg2 ));
  74. int32 int4le ARGS((int32 arg1 , int32 arg2 ));
  75. int32 int4gt ARGS((int32 arg1 , int32 arg2 ));
  76. int32 int4ge ARGS((int32 arg1 , int32 arg2 ));
  77. int32 keyfirsteq ARGS((int16 *arg1 , int16 arg2 ));
  78. int32 int2eq ARGS((int16 arg1 , int16 arg2 ));
  79. int32 int2ne ARGS((int16 arg1 , int16 arg2 ));
  80. int32 int2lt ARGS((int16 arg1 , int16 arg2 ));
  81. int32 int2le ARGS((int16 arg1 , int16 arg2 ));
  82. int32 int2gt ARGS((int16 arg1 , int16 arg2 ));
  83. int32 int2ge ARGS((int16 arg1 , int16 arg2 ));
  84. int32 int4um ARGS((int32 arg ));
  85. int32 int4pl ARGS((int32 arg1 , int32 arg2 ));
  86. int32 int4mi ARGS((int32 arg1 , int32 arg2 ));
  87. int32 int4mul ARGS((int32 arg1 , int32 arg2 ));
  88. int32 int4div ARGS((int32 arg1 , int32 arg2 ));
  89. int32 int4inc ARGS((int32 arg ));
  90. int16 int2um ARGS((int16 arg ));
  91. int16 int2pl ARGS((int16 arg1 , int16 arg2 ));
  92. int16 int2mi ARGS((int16 arg1 , int16 arg2 ));
  93. int16 int2mul ARGS((int16 arg1 , int16 arg2 ));
  94. int16 int2div ARGS((int16 arg1 , int16 arg2 ));
  95. int16 int2inc ARGS((int16 arg ));
  96. int32 int2larger ARGS((int16 arg1 , int16 arg2 ));
  97. int32 int2smaller ARGS((int16 arg1 , int16 arg2 ));
  98. int32 int4larger ARGS((int32 arg1 , int32 arg2 ));
  99. int32 int4smaller ARGS((int32 arg1 , int32 arg2 ));
  100.  
  101. extern int32        inteq();
  102. extern int32        intne();
  103. extern int32        intlt();
  104. extern int32        intle();
  105. extern int32        intgt();
  106. extern int32        intge();
  107. extern int32        intpl();
  108. extern int32        intmi();
  109. extern int32        intdiv();
  110.  
  111. int32 int4mod ARGS((int32 arg1 , int32 arg2 ));
  112. int32 int2mod ARGS((int16 arg1 , int16 arg2 ));
  113. int32 int4fac ARGS((int32 arg1 ));
  114. int32 int2fac ARGS((int16 arg1 ));
  115. extern int32        intmod();
  116.  
  117. /*
  118.  *      New btree code.
  119.  *    Defined in nbtree/
  120.  */
  121. extern char        *btgettuple();
  122. extern char        *btinsert();
  123. extern char        *btdelete();
  124. extern char        *btgetnext();
  125. extern char        *btbeginscan();
  126. extern void        btendscan();
  127. extern void        btbuild();
  128. extern void        btmarkpos();
  129. extern void        btrestrpos();
  130. extern void        btrescan();
  131. extern char        *nobtgettuple();
  132. extern char        *nobtinsert();
  133. extern char        *nobtdelete();
  134. extern char        *nobtgetnext();
  135. extern char        *nobtbeginscan();
  136. extern void        nobtendscan();
  137. extern void        nobtbuild();
  138. extern void        nobtmarkpos();
  139. extern void        nobtrestrpos();
  140. extern void        nobtrescan();
  141.  
  142. /*
  143.  *    Per-opclass comparison functions for new btrees.  These are
  144.  *    stored in pg_amproc and defined in nbtree/
  145.  */
  146. extern int32        btint2cmp();
  147. extern int32        btint4cmp();
  148. extern int32        btint24cmp();
  149. extern int32        btint42cmp();
  150. extern int32        btfloat4cmp();
  151. extern int32        btfloat8cmp();
  152. extern int32        btoidcmp();
  153. extern int32        btabstimecmp();
  154. extern int32        btcharcmp();
  155. extern int32        btchar16cmp();
  156. extern int32        bttextcmp();
  157.  
  158. /*
  159.  *    RTree code.
  160.  *    Defined in access/index-rtree/
  161.  */
  162. extern char        *rtinsert();
  163. extern char        *rtdelete();
  164. extern char        *rtgettuple();
  165. extern char        *rtbeginscan();
  166. extern void        rtendscan();
  167. extern void        rtreebuild();
  168. extern void        rtmarkpos();
  169. extern void        rtrestrpos();
  170. extern void        rtrescan();
  171. extern void        rtbuild();
  172.  
  173. /* support routines for the rtree access method, by opclass */
  174. extern BOX        *rt_box_union();
  175. extern BOX        *rt_box_inter();
  176. extern int        rt_box_size();
  177. extern int        rt_bigbox_size();
  178. extern int        rt_poly_size();
  179. extern POLYGON    *rt_poly_union();
  180. extern POLYGON    *rt_poly_inter();
  181.  
  182. /* projection utilities */
  183. extern char *GetAttributeByName();
  184. extern char *GetAttributeByNum();
  185.  
  186.  
  187. extern int32 pqtest();
  188.  
  189. /* arrayfuncs.c */
  190. char *array_in ARGS((char *string , ObjectId element_type ));
  191. char *array_out ARGS((char *items , ObjectId element_type ));
  192.  
  193. /* date.c */
  194. AbsoluteTime nabstimein ARGS((char *datetime ));
  195. char *nabstimeout ARGS((AbsoluteTime datetime ));
  196. int32 reltimein ARGS((char *timestring ));
  197. char *reltimeout ARGS((int32 timevalue ));
  198. int32 reltimeeq ARGS((RelativeTime t1 , RelativeTime t2 ));
  199. int32 reltimene ARGS((RelativeTime t1 , RelativeTime t2 ));
  200. int32 reltimelt ARGS((int32 t1 , int32 t2 ));
  201. int32 reltimegt ARGS((int32 t1 , int32 t2 ));
  202. int32 reltimele ARGS((int32 t1 , int32 t2 ));
  203. int32 reltimege ARGS((int32 t1 , int32 t2 ));
  204. AbsoluteTime timepl ARGS((AbsoluteTime AbsTime_t1 , RelativeTime RelTime_t2 ));
  205. int32 abstimeeq ARGS((AbsoluteTime t1 , AbsoluteTime t2 ));
  206. int32 abstimene ARGS((AbsoluteTime t1 , AbsoluteTime t2 ));
  207. int32 abstimelt ARGS((int32 t1 , int32 t2 ));
  208. int32 abstimegt ARGS((int32 t1 , int32 t2 ));
  209. int32 abstimele ARGS((int32 t1 , int32 t2 ));
  210. int32 abstimege ARGS((int32 t1 , int32 t2 ));
  211. TimeInterval tintervalin ARGS((char *intervalstr ));
  212. char *tintervalout ARGS((TimeInterval interval ));
  213. int ininterval ARGS((int32 t , TimeInterval interval ));
  214. RelativeTime intervalrel ARGS((TimeInterval interval ));
  215. int32 intervaleq ARGS((TimeInterval i1 , TimeInterval i2 ));
  216. int32 intervalct ARGS((TimeInterval i1 , TimeInterval i2 ));
  217. int32 intervalov ARGS((TimeInterval i1 , TimeInterval i2 ));
  218. int32 intervalleneq ARGS((TimeInterval i , RelativeTime t ));
  219. int32 intervallenne ARGS((TimeInterval i , RelativeTime t ));
  220. int32 intervallenlt ARGS((TimeInterval i , RelativeTime t ));
  221. int32 intervallengt ARGS((TimeInterval i , RelativeTime t ));
  222. int32 intervallenle ARGS((TimeInterval i , RelativeTime t ));
  223. int32 intervallenge ARGS((TimeInterval i , RelativeTime t ));
  224. AbsoluteTime intervalstart ARGS((TimeInterval i ));
  225. AbsoluteTime intervalend ARGS((TimeInterval i ));
  226. AbsoluteTime timemi ARGS((AbsoluteTime AbsTime_t1 , RelativeTime RelTime_t2 ));
  227. AbsoluteTime timenow ARGS((void ));
  228.  
  229.  
  230. /* dt.c */
  231. int32 dtin ARGS((char *datetime ));
  232. char *dtout ARGS((int32 datetime ));
  233.  
  234. /* filename.c */
  235. char *filename_in ARGS((char *file ));
  236. char *filename_out ARGS((char *s ));
  237.  
  238. /* float.c */
  239. float32 float4in ARGS((char *num ));
  240. char *float4out ARGS((float32 num ));
  241. float64 float8in ARGS((char *num ));
  242. char *float8out ARGS((float64 num ));
  243. float32 float4abs ARGS((float32 arg1 ));
  244. float32 float4um ARGS((float32 arg1 ));
  245. float32 float4larger ARGS((float32 arg1 , float32 arg2 ));
  246. float32 float4smaller ARGS((float32 arg1 , float32 arg2 ));
  247. float64 float8abs ARGS((float64 arg1 ));
  248. float64 float8um ARGS((float64 arg1 ));
  249. float64 float8larger ARGS((float64 arg1 , float64 arg2 ));
  250. float64 float8smaller ARGS((float64 arg1 , float64 arg2 ));
  251. float32 float4pl ARGS((float32 arg1 , float32 arg2 ));
  252. float32 float4mi ARGS((float32 arg1 , float32 arg2 ));
  253. float32 float4mul ARGS((float32 arg1 , float32 arg2 ));
  254. float32 float4div ARGS((float32 arg1 , float32 arg2 ));
  255. float32 float4inc ARGS((float32 arg1 ));
  256. float64 float8pl ARGS((float64 arg1 , float64 arg2 ));
  257. float64 float8mi ARGS((float64 arg1 , float64 arg2 ));
  258. float64 float8mul ARGS((float64 arg1 , float64 arg2 ));
  259. float64 float8div ARGS((float64 arg1 , float64 arg2 ));
  260. float64 float8inc ARGS((float64 arg1 ));
  261. long float4eq ARGS((float32 arg1 , float32 arg2 ));
  262. long float4ne ARGS((float32 arg1 , float32 arg2 ));
  263. long float4lt ARGS((float32 arg1 , float32 arg2 ));
  264. long float4le ARGS((float32 arg1 , float32 arg2 ));
  265. long float4gt ARGS((float32 arg1 , float32 arg2 ));
  266. long float4ge ARGS((float32 arg1 , float32 arg2 ));
  267. long float8eq ARGS((float64 arg1 , float64 arg2 ));
  268. long float8ne ARGS((float64 arg1 , float64 arg2 ));
  269. long float8lt ARGS((float64 arg1 , float64 arg2 ));
  270. long float8le ARGS((float64 arg1 , float64 arg2 ));
  271. long float8gt ARGS((float64 arg1 , float64 arg2 ));
  272. long float8ge ARGS((float64 arg1 , float64 arg2 ));
  273. float64 ftod ARGS((float32 num ));
  274. float32 dtof ARGS((float64 num ));
  275. float64 dround ARGS((float64 arg1 ));
  276. float64 dtrunc ARGS((float64 arg1 ));
  277. float64 dsqrt ARGS((float64 arg1 ));
  278. float64 dcbrt ARGS((float64 arg1 ));
  279. float64 dpow ARGS((float64 arg1 , float64 arg2 ));
  280. float64 dexp ARGS((float64 arg1 ));
  281. float64 dlog1 ARGS((float64 arg1 ));
  282. float64 float48pl ARGS((float32 arg1 , float64 arg2 ));
  283. float64 float48mi ARGS((float32 arg1 , float64 arg2 ));
  284. float64 float48mul ARGS((float32 arg1 , float64 arg2 ));
  285. float64 float48div ARGS((float32 arg1 , float64 arg2 ));
  286. float64 float84pl ARGS((float64 arg1 , float32 arg2 ));
  287. float64 float84mi ARGS((float64 arg1 , float32 arg2 ));
  288. float64 float84mul ARGS((float64 arg1 , float32 arg2 ));
  289. float64 float84div ARGS((float64 arg1 , float32 arg2 ));
  290. long float48eq ARGS((float32 arg1 , float64 arg2 ));
  291. long float48ne ARGS((float32 arg1 , float64 arg2 ));
  292. long float48lt ARGS((float32 arg1 , float64 arg2 ));
  293. long float48le ARGS((float32 arg1 , float64 arg2 ));
  294. long float48gt ARGS((float32 arg1 , float64 arg2 ));
  295. long float48ge ARGS((float32 arg1 , float64 arg2 ));
  296. long float84eq ARGS((float64 arg1 , float32 arg2 ));
  297. long float84ne ARGS((float64 arg1 , float32 arg2 ));
  298. long float84lt ARGS((float64 arg1 , float32 arg2 ));
  299. long float84le ARGS((float64 arg1 , float32 arg2 ));
  300. long float84gt ARGS((float64 arg1 , float32 arg2 ));
  301. long float84ge ARGS((float64 arg1 , float32 arg2 ));
  302.  
  303. /* in utils/adt/ftype.c -- mao's stuff */
  304. ObjectId fimport ARGS((struct varlena *name ));
  305. int32 fexport ARGS((struct varlena *name , ObjectId foid ));
  306. int32 fabstract ARGS((struct varlena *name , ObjectId foid , int32 blksize , int32 offset , int32 size ));
  307.  
  308. /* geo-ops.c */
  309. BOX *box_in ARGS((char *str ));
  310. char *box_out ARGS((BOX *box ));
  311. long box_same ARGS((BOX *box1 , BOX *box2 ));
  312. long box_overlap ARGS((BOX *box1 , BOX *box2 ));
  313. long box_overleft ARGS((BOX *box1 , BOX *box2 ));
  314. long box_left ARGS((BOX *box1 , BOX *box2 ));
  315. long box_right ARGS((BOX *box1 , BOX *box2 ));
  316. long box_overright ARGS((BOX *box1 , BOX *box2 ));
  317. long box_contained ARGS((BOX *box1 , BOX *box2 ));
  318. long box_contain ARGS((BOX *box1 , BOX *box2 ));
  319. long box_below ARGS((BOX *box1 , BOX *box2 ));
  320. long box_above ARGS((BOX *box1 , BOX *box2 ));
  321. long box_lt ARGS((BOX *box1 , BOX *box2 ));
  322. long box_gt ARGS((BOX *box1 , BOX *box2 ));
  323. long box_eq ARGS((BOX *box1 , BOX *box2 ));
  324. long box_le ARGS((BOX *box1 , BOX *box2 ));
  325. long box_ge ARGS((BOX *box1 , BOX *box2 ));
  326. POINT *box_center ARGS((BOX *box ));
  327. PATH *path_in ARGS((char *str ));
  328. char *path_out ARGS((PATH *path ));
  329. POINT *point_in ARGS((char *str ));
  330. char *point_out ARGS((POINT *pt ));
  331. long point_left ARGS((POINT *pt1 , POINT *pt2 ));
  332. long point_right ARGS((POINT *pt1 , POINT *pt2 ));
  333. long point_above ARGS((POINT *pt1 , POINT *pt2 ));
  334. long point_below ARGS((POINT *pt1 , POINT *pt2 ));
  335. long point_eq ARGS((POINT *pt1 , POINT *pt2 ));
  336. long pointdist ARGS((POINT *p1 , POINT *p2 ));
  337. LSEG *lseg_in ARGS((char *str ));
  338. char *lseg_out ARGS((LSEG *ls ));
  339. POLYGON *poly_in ARGS((char *s ));
  340. char *poly_out ARGS((POLYGON *poly ));
  341. long poly_left ARGS((POLYGON *polya , POLYGON *polyb ));
  342. long poly_overleft ARGS((POLYGON *polya , POLYGON *polyb ));
  343. long poly_right ARGS((POLYGON *polya , POLYGON *polyb ));
  344. long poly_overright ARGS((POLYGON *polya , POLYGON *polyb ));
  345. long poly_same ARGS((POLYGON *polya , POLYGON *polyb ));
  346. long poly_overlap ARGS((POLYGON *polya , POLYGON *polyb ));
  347. long poly_contain ARGS((POLYGON *polya , POLYGON *polyb ));
  348. long poly_contained ARGS((POLYGON *polya , POLYGON *polyb ));
  349. double *path_distance ARGS((PATH *p1, PATH *p2));
  350. double *dist_ppth ARGS((POINT *pt, PATH *path));
  351.  
  352. /* geo-selfuncs.c */
  353. float64 areasel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
  354. float64 areajoinsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
  355.  
  356. /* lo_regprocs.c */
  357. char *lo_filein ARGS((char *filename ));
  358. char *lo_fileout ARGS((LargeObject *object ));
  359.  
  360. /* misc.c */
  361. int32 userfntest ARGS((int i ));
  362. bool  NullValue ARGS((Datum value));
  363. bool  NonNullValue ARGS((Datum value));
  364.  
  365. /* not_in.c */
  366. bool int4notin ARGS((int16 not_in_arg , char *relation_and_attr ));
  367. bool oidnotin ARGS((ObjectId the_oid , char *compare ));
  368.  
  369. /* oid.c */
  370. ObjectId *oid8in ARGS((char *oidString ));
  371. char *oid8out ARGS((ObjectId (*oidArray )[]));
  372.  
  373. /* regexp.c */
  374. bool char16regexeq ARGS((char *s , char *p ));
  375. bool char16regexne ARGS((char *s , char *p ));
  376. bool textregexeq ARGS((struct varlena *s , struct varlena *p ));
  377. bool textregexne ARGS((char *s , char *p ));
  378.  
  379. /* regproc.c */
  380. int32 regprocin ARGS((char *proname ));
  381. char *regprocout ARGS((RegProcedure proid ));
  382. ObjectId RegprocToOid ARGS((RegProcedure rp));
  383.  
  384. /* selfuncs.c */
  385. float64 eqsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
  386. float64 neqsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
  387. float64 intltsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , int32 value , int32 flag ));
  388. float64 intgtsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , int32 value , int32 flag ));
  389. float64 eqjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
  390. float64 neqjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
  391. float64 intltjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
  392. float64 intgtjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
  393. /*
  394.  *  Selectivity functions for btrees in utils/adt/selfuncs.c
  395.  */
  396. float64 btreesel ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
  397. float64 btreenpage ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
  398. /*
  399.  *  Selectivity functions for rtrees in utils/adt/selfuncs.c
  400.  */
  401. float64 rtsel ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
  402. float64 rtnpage ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
  403.  
  404. /* smgr.c */
  405. int2 smgrin ARGS((char *s ));
  406. char *smgrout ARGS((int2 i ));
  407. bool smgreq ARGS((int2 a , int2 b ));
  408. bool smgrne ARGS((int2 a , int2 b ));
  409.  
  410. /* tid.c */
  411. ItemPointer tidin ARGS((char *str ));
  412. char *tidout ARGS((ItemPointer itemPtr ));
  413.  
  414. /* varlena.c */
  415. struct varlena *byteain ARGS((char *inputText ));
  416. char *byteaout ARGS((struct varlena *vlena ));
  417. struct varlena *textin ARGS((char *inputText ));
  418. char *textout ARGS((struct varlena *vlena ));
  419. int32 texteq ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  420. int32 textne ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  421. int32 text_lt ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  422. int32 text_le ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  423. int32 text_gt ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  424. int32 text_ge ARGS((struct varlena *arg1 , struct varlena *arg2 ));
  425. int32 byteaGetSize ARGS((struct varlena *v ));
  426. int32 byteaGetByte ARGS((struct varlena *v , int32 n ));
  427. int32 byteaGetBit ARGS((struct varlena *v , int32 n ));
  428. struct varlena *byteaSetByte ARGS((struct varlena *v , int32 n , int32 newByte ));
  429. struct varlena *byteaSetBit ARGS((struct varlena *v , int32 n , int32 newBit ));
  430.  
  431.      /* be-stubs.c */
  432. int LOopen ARGS((char *fname , int mode ));
  433. int LOclose ARGS((int fd ));
  434. struct varlena *LOread ARGS((int fd , int len ));
  435. int LOwrite ARGS((int fd , struct varlena *wbuf ));
  436. int LOlseek ARGS((int fd , int offset , int whence ));
  437. int LOcreat ARGS((char *path , int mode ));
  438. int LOtell ARGS((int fd ));
  439. int LOftruncate ARGS((void ));
  440. struct varlena *LOstat ARGS((char *path ));
  441. int LOmkdir ARGS((char *path , int mode ));
  442. int LOrmdir ARGS((char *path ));
  443. int LOunlink ARGS((char *path ));
  444.  
  445. /* naming.c */
  446. oid FilenameToOID ARGS((char *fname ));
  447. oid LOcreatOID ARGS((char *fname , int mode ));
  448. int LOrename ARGS((char *path , char *newpath ));
  449.  
  450. int pftp_read ARGS((struct varlena *host, int port, oid foid));
  451. oid pftp_write ARGS((struct varlena *host, int port));
  452.  
  453. #endif !BuiltinsIncluded
  454.  
  455.